<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 计算属性完整写法
           computed:{
              方法名(){
                return 值
              }
           } 
           访问:this.方法名

           完整写法
            computed:{
                方法名:{
                    // 触发： this.方法名
                    get(){
                        return 值
                    },
                    // 触发 this.方法名=值  值传给set的value
                    set(value){
                         ......
                    }
                }
            }

            v-model的值能直接等于计算属性吗?
               默认是不可以的，但是可以给计算属性加上set方法就可以了    
    -->
    <div id="app">
      <!-- <h1>{{strSet}}</h1> -->
      <button @click="btnClick">修改strSet</button>
      <input type="text" v-model="xxx" />
    </div>
    <script src="./vue.js"></script>
    <script>
      new Vue({
        el: '#app',
        data: {
          str: 'abcdef'
        },
        computed: {
          //   strSet () {
          //     return this.str
          //       .split('')
          //       .reverse()
          //       .join('')
          //   }
          strSet: {
            get () {
              console.log('get')
              return this.str
                .split('')
                .reverse()
                .join('')
            },
            set (value) {
              console.log('set触发了', value)
            }
          },
          xxx: {
            get () {
              return 'abc'
            },
            set () {}
          }
        },
        methods: {
          btnClick () {
            // this.strSet = '123456'
            console.log(this.strSet)
          }
        }
      })
    </script>
  </body>
</html>
